package com.jlpay.open.jlpay.sdk.java.model.openmerch.register;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.*;

/**
 * @author zhangyongfeng
 * @date 2025/8/1
 */
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class FunctionResultDto {

    /**
     * 银联渠道报备结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String unionpayReportRet;

    /**
     * 银联报备结果描述
     */
    private String unionpayReportMsg;

    /**
     * 微信渠道报备结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String wechatReportRet;

    /**
     * 微信报备结果描述
     */
    private String wechatReportMsg;

    /**
     * 支付宝渠道报备结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String alipayReportRet;

    /**
     * 支付宝报备结果描述
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String alipayReportMsg;

    /**
     * appid绑定结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String subAppidBindRet;

    /**
     * 绑定结果描述
     */
    private String subAppidBindMsg;

    /**
     * 支付目录绑定结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String wechatJsapiPathRet;

    /**
     * 支付目录绑定结果描述
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String wechatJsapiPathMsg;

    /**
     * 入驻银行合作平台
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String coopBankRet;

    /**
     * 入驻结果描述
     */
    private String coopBankMsg;
    /**
     * 支付宝优享开通结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String alipayLargeRet;

    /**
     * 支付宝优享开通结果描述
     */
    private String alipayLargeMsg;

    /**
     * 部分退款退手续费结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String partRefundFeeRet;
    /**
     * 部分退款退手续费结果描述
     */
    private String partRefundFeeMsg;

    /**
     * 结算场次开通结果
     * 01: 成功
     * 02: 处理中
     * 09: 失败
     */
    private String settleSessionRet;
    /**
     * 结算场次开通结果描述
     */
    private String settleSessionMsg;
}
